﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace HRM
{
    public partial class frmReportParameterSum : FormBase
    {
        public string period { get; set; }

        public string month { get; set; }

        public string year { get; set; }

        //
        public bool isExportExcel = false;
        //
        string _tongSoToKhai = "";

        public string TongSoToKhai
        {
            get { return _tongSoToKhai; }
            set { _tongSoToKhai = value; }
        }
        string _tongSoSoBHHXDeNghiCap = "";

        public string TongSoSoBHHXDeNghiCap
        {
            get { return _tongSoSoBHHXDeNghiCap; }
            set { _tongSoSoBHHXDeNghiCap = value; }
        }
        string _tongSoTheBHYTDeNghiCap = "";

        public string TongSoTheBHYTDeNghiCap
        {
            get { return _tongSoTheBHYTDeNghiCap; }
            set { _tongSoTheBHYTDeNghiCap = value; }
        }
        string _thoiHan = "";

        public string ThoiHan
        {
            get { return _thoiHan; }
            set { _thoiHan = value; }
        }

        public frmReportParameterSum(string _period, string _month, string _year, bool isExport)
        {
            InitializeComponent();
            this.StartPosition = FormStartPosition.CenterScreen;
            DateTextBox d = new DateTextBox(textBox4);
            d = new DateTextBox(textBox5);

            //
            period = _period;
            month = _month;
            year = _year;
            isExportExcel = isExport;
            //
            txtPeriod.Text = _period;
            txtMonth.Text = _month;
            txtYear.Text = _year;
            //
            pnlThoiDiem.Enabled = isExport; //export excel thì bắt nhập kỳ, tháng năm
        }

        public DialogResult Show_Form(int mode)
        {
            switch (mode)
            {
                case 0:
                    btnExcel.Visible = false;
                    break;
                case 1:
                    btnAccept.Visible = false;
                    break;

            }

            return this.ShowDialog();
        }

        private void btnAccept_Click(object sender, EventArgs e)
        {
            _tongSoToKhai = textBox1.Text;
            _tongSoSoBHHXDeNghiCap = textBox2.Text;
            _tongSoTheBHYTDeNghiCap = textBox3.Text;

            if ((textBox4.Text + textBox5.Text).Length == 0)
                _thoiHan = "Thời hạn từ .../.../...... đến .../.../......";
            else if (textBox4.Text.Length == 0 && textBox5.Text.Length > 0)
                _thoiHan = "Thời hạn từ: .../.../...... đến " + textBox5.Text;
            else if (textBox5.Text.Length == 0 && textBox4.Text.Length > 0)
                _thoiHan = "Thời hạn từ: " + textBox4.Text + " đến .../.../......";
            else
                _thoiHan = "Thời hạn từ: " + textBox4.Text + " đến " + textBox5.Text;

            this.DialogResult = DialogResult.OK;
            this.Close();
        }

        private void btnCancel_Click(object sender, EventArgs e)
        {
            this.DialogResult = DialogResult.Cancel;
            this.Close();
        }

        private void textBox3_Validated(object sender, EventArgs e)
        {
            int tongBHYT = Globals.Object_GetValue<int>(textBox3.Text);
            if (tongBHYT > 0)
            {
                if(DateTime.Now.Day <=15)
                    textBox4.Text = DateTime.Now.Year.ToString("1/MM/yyyy");
                else
                    textBox4.Text = DateTime.Now.AddMonths(1).ToString("1/MM/yyyy");
                textBox5.Text = DateTime.Now.ToString("31/12/yyyy");
            }
        }

        private void btnExcel_Click(object sender, EventArgs e)
        {
            int MonthVal = 0;
            int PeriodVal = 0;
            int YearVal = 0;
            MonthVal = UISetting.GetIntNo(txtMonth.Text.Trim());
            PeriodVal = UISetting.GetIntNo(txtPeriod.Text.Trim());
            YearVal = UISetting.GetIntNo(txtYear.Text.Trim());
            //
            if (MonthVal <= 0 || YearVal <=0)
            {
                MessageBox.Show("Thời điểm tháng/năm xuất excel không hợp lệ");
                return;
            }
            else
            {
                month = MonthVal.ToString();
                period = PeriodVal.ToString();
                year = YearVal.ToString();

                isExportExcel = true;
                btnAccept_Click(null, null);
            }
        }
    }
}
